﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sunboxsoft.ASMS.Server.Domain.Entity
{
    /// <summary>
    /// 汽服服务单
    /// </summary>
    public class EMaintenanceBill
    {
        public Guid Id { get; set; }

        public string Number { get; set; }

        /// <summary>
        /// 商家Id
        /// </summary>
        public Guid BusinessId { get; set; }

        /// <summary>
        /// 店铺Id
        /// </summary>
        public Guid StationId { get; set; }

        /// <summary>
        /// 预约单
        /// </summary>
        public Guid? BookingBillId { get; set; }

        /// <summary>
        /// 客户Id
        /// </summary>
        public Guid CustomerId { get; set; }

        /// <summary>
        /// 客户车辆Id
        /// </summary>
        public Guid AutomobileId { get; set; }

        /// <summary>
        /// 销售经理Id
        /// </summary>
        public Guid? SalesManagerId { get; set; }

        /// <summary>
        /// 预计交付日期(预计出厂时间)
        /// </summary>
        public DateTime? EstimatedDeliveryDate { get; set; }

        /// <summary>
        /// 当前油量
        /// </summary>
        public float? OilMass { get; set; }

        /// <summary>
        /// 当前里程（公里）
        /// </summary>
        public float? RunningKilometers { get; set; }

        /// <summary>
        /// 备忘信息
        /// </summary>
        public string Memo { get; set; }

        /// <summary>
        /// 车架号
        /// </summary>
        public string VIN { get; set; }

        /// <summary>
        /// 发动机编号
        /// </summary>
        public string EIN { get; set; }

        /// <summary>
        /// 下次保养时间
        /// </summary>
        public DateTime? NextMaintenanceDate { get; set; }
            
        /// <summary>
        /// 下次年检时间
        /// </summary>
        public DateTime? NextAnnualSurveyDate { get; set; }

        /// <summary>
        /// 保险到期时间
        /// </summary>
        public DateTime? InsuranceExpirationDate { get; set; }

        /// <summary>
        /// 下次更新轮胎时间
        /// </summary>
        public DateTime? NextReplaceTireDate { get; set; }

        /// <summary>
        /// 保险公司
        /// </summary>
        public string InsuranceCompany { get; set; }

        /// <summary>
        /// 订单金额
        /// </summary>
        public decimal Amount { get; set; }

        /// <summary>
        /// 交货日期
        /// </summary>
        public DateTime? DeliveryTime{get;set;}

        public int Status { get; set; }

        /// <summary>
        /// 工作状态,Constant.MaintenanceBillStatus.ServiceItemStatus.?
        /// </summary>
        public int ServiceItemStatus { get; set; }

        /// <summary>
        /// 物料状态Constant.MaintenanceBillStatus.MaterialStatus.?
        /// </summary>
        public int MaterialStatus { get; set; }

        public int ServiceItemCount { get; set; }
        public int MaterialCount { get; set; }
        public int PayItemCount { get; set; }

        public DateTime CreatedTime { get; set; }
        public string Creator { get; set; }
    }
}
